Microprocessor and microcontroller (hereinafter "microprocessor") testing is considered one of the most complex problem in IC testing. In general, an automatic test equipment (ATE) such as an IC tester is commonly used for testing a microprocessor. An IC tester provides a test pattern to the microprocessor under test and the resultant response of the microprocessor is evaluated by expected value data. Because the recent microprocessors have dramatically improved their performance, such as operating speeds, density, functionality, and pin counts, an IC tester for testing such microprocessors needs to be very large scale, high speed, and accordingly very expensive. For example, such an IC tester has several hundreds or more test pins (test channels), each of which includes a pattern generator, timing generator and a frame processor, resulting in a very large and high cost system.
In other approach, various design-for-test (DFT) and built-in self-test (BIST) schemes such as scan, partial scan, logic BIST, scan-based BIST are used to test various logic blocks within a microprocessor. The main problem in these approaches is the requirement of large amount of additional hardware area (extra logic circuits) to implement the test logic. For example, scan implementation in general requires approximately 10% area overhead and scan-based BIST requires approximately 10-15% area overhead on top of the scan implementation. This large area overhead causes larger die, which results into smaller number of dies per wafer, lower yield and higher cost.
In addition, these test schemes also cause a 5-10% performance penalty. Typically, such a performance penalty is a signal propagation delay in the microprocessor because of the additional hardware overhead in the microprocessor. For example, in the scan implementation, each flip-flop circuit in the microprocessor is preceded by a selector (multiplexer) to selectively provide the flip-flop either a scan-in signal or a normal signal. Such an additional selector causes a delay time in the overall performance of the flip-flop circuit. Thus, the design-for-test and built-in self-test schemes adversely affect the microprocessor's performance, such as an operating speed because of the signal propagation delays.